package com.ruoyi.commodity.service.impl;

import java.util.List;

import com.ruoyi.stock.mapper.MStockMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.commodity.mapper.MCommodityMapper;
import com.ruoyi.commodity.domain.MCommodity;
import com.ruoyi.commodity.service.IMCommodityService;

/**
 * 商品管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-10-24
 */
@Service
public class MCommodityServiceImpl implements IMCommodityService 
{
    @Autowired
    private MCommodityMapper mCommodityMapper;

    @Autowired
    private MStockMapper mStockMapper;

    /**
     * 查询商品管理
     * 
     * @param commodityId 商品管理主键
     * @return 商品管理
     */
    @Override
    public MCommodity selectMCommodityByCommodityId(Long commodityId)
    {
        return mCommodityMapper.selectMCommodityByCommodityId(commodityId);
    }

    /**
     * 查询商品管理列表
     * 
     * @param mCommodity 商品管理
     * @return 商品管理
     */
    @Override
    public List<MCommodity> selectMCommodityList(MCommodity mCommodity)
    {
        return mCommodityMapper.selectMCommodityList(mCommodity);
    }

    /**
     * 新增商品管理
     * 
     * @param mCommodity 商品管理
     * @return 结果
     */
    @Override
    public int insertMCommodity(MCommodity mCommodity)
    {
        return mCommodityMapper.insertMCommodity(mCommodity);
    }

    /**
     * 修改商品管理
     * 
     * @param mCommodity 商品管理
     * @return 结果
     */
    @Override
    public int updateMCommodity(MCommodity mCommodity)
    {
        return mCommodityMapper.updateMCommodity(mCommodity);
    }

    /**
     * 批量删除商品管理
     * 
     * @param commodityIds 需要删除的商品管理主键
     * @return 结果
     */
    @Override
    public int deleteMCommodityByCommodityIds(Long[] commodityIds)
    {
        // 判断是否有库存
        if(mStockMapper.checkStockByCommodityIds(commodityIds)!=0){
            return 0;
        }
        return mCommodityMapper.deleteMCommodityByCommodityIds(commodityIds);
    }

    /**
     * 删除商品管理信息
     * 
     * @param commodityId 商品管理主键
     * @return 结果
     */
    @Override
    public int deleteMCommodityByCommodityId(Long commodityId)
    {
        return mCommodityMapper.deleteMCommodityByCommodityId(commodityId);
    }
}
